package a10_ChangeStr;

/**
 * @Author quan
 * @Description 解法2：字符数组方式
 * @Date 2023/1/31 1:41
 */
public class Answer2 {
    public static void main(String[] args) {
        //1、定义两个字符串
        String strA = "abcde";
        String strB = "cdeabF";
        //2、旋转字符串
        strA = romate(strA);//注意这时候要更新旋转的字符串

        //调用方法
        boolean result = check(strA,strB);
        System.out.println(result);
    }

    public static boolean check(String strA,String strB){
        for (int i = 0; i < strA.length(); i++) {
            if(strB.equals(romate(strA))){
                return true;
            }
        }
        return false;
    }

    public static String romate(String str){

        //新知识：！！！使用.toCharArray()方式将str转换为字符数组 eg:"ABC"——> [‘A’,'B','C']
        char[] arr = str.toCharArray();
        //取出数组中第一个元素
        char first = arr[0];
        //重点！！！：取出数组中的后面元素，往前挪一位
        for (int i = 1; i < arr.length; i++) {//注意：索引从1开始
            arr[i-1] = arr[i];
        }
        //将第一位的字符挪到最后一位
        arr[arr.length-1] = first;

        //注意1：创建一个字符串容器，将arr装进去
//        StringBuilder sb = new StringBuilder();
//        sb.append(arr);
//        //sb要转换为字符串类型
//        return sb.toString();

        //注意2：或者使用下面的方式:利用字符数组创建一个字符串
        String result = new String(arr);
        return result;
    }
}
